gnss20 2.2.0
Loading...
Searching...
No Matches
gnss20.h File Reference

This file contains API for GNSS 20 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"
#include "drv_uart.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  gnss20_s
 GNSS 20 Click context object. More...
struct  gnss20_cfg_t
 GNSS 20 Click configuration object. More...

Macros

#define GNSS20_RSP_START   "$"
 GNSS 20 response buffer commands.
#define GNSS20_RSP_DELIMITER   ","
#define GNSS20_RSP_END   "\r\n"
#define GNSS20_RSP_GGA   "GGA"
#define GNSS20_DUMMY   0xFF
 GNSS 20 dummy data.
#define GNSS20_GGA_ELEMENT_SIZE   15
 GNSS 20 GGA command elements.
#define GNSS20_GGA_TIME   1
#define GNSS20_GGA_LATITUDE   2
#define GNSS20_GGA_LATITUDE_SIDE   3
#define GNSS20_GGA_LONGITUDE   4
#define GNSS20_GGA_LONGITUDE_SIDE   5
#define GNSS20_GGA_QUALITY_INDICATOR   6
#define GNSS20_GGA_NUMBER_OF_SATELLITES   7
#define GNSS20_GGA_H_DILUTION_OF_POS   8
#define GNSS20_GGA_ALTITUDE   9
#define GNSS20_GGA_ALTITUDE_UNIT   10
#define GNSS20_GGA_GEOIDAL_SEPARATION   11
#define GNSS20_GGA_GEOIDAL_SEPARATION_UNIT   12
#define GNSS20_GGA_TIME_SINCE_LAST_DGPS   13
#define GNSS20_GGA_DGPS_REFERENCE_STATION_ID   14
#define GNSS20_I2C_SLAVE_CR_CMD   0xAA51
 GNSS 20 I2C settings.
#define GNSS20_I2C_SLAVE_CW_CMD   0xAA53
#define GNSS20_I2C_SLAVE_CMD_LEN   8
#define GNSS20_I2C_SLAVE_RX_LEN   4
#define GNSS20_I2C_SLAVE_TX_LEN_REG_OFFSET   0x0008
#define GNSS20_I2C_SLAVE_TX_BUF_REG_OFFSET   0x2000
#define GNSS20_I2C_SLAVE_RX_LEN_REG_OFFSET   0x0004
#define GNSS20_I2C_SLAVE_RX_BUF_REG_OFFSET   0x1000
#define GNSS20_I2C_SLAVE_ADDRESS_CR_OR_CW   0x50
#define GNSS20_I2C_SLAVE_ADDRESS_R   0x54
#define GNSS20_I2C_SLAVE_ADDRESS_W   0x58
#define GNSS20_I2C_SLAVE_MAX_ERRORS   10
#define GNSS20_SPI_SLAVE_CFG_RD_CMD   0x0A
 GNSS 20 SPI settings.
#define GNSS20_SPI_SLAVE_RD_CMD   0x81
#define GNSS20_SPI_SLAVE_CFG_WR_CMD   0x0C
#define GNSS20_SPI_SLAVE_WR_CMD   0x0E
#define GNSS20_SPI_SLAVE_RS_CMD   0x06
#define GNSS20_SPI_SLAVE_WS_CMD   0x08
#define GNSS20_SPI_SLAVE_PWON_CMD   0x04
#define GNSS20_SPI_SLAVE_PWOFF_CMD   0x02
#define GNSS20_SPI_SLAVE_CMD_LEN   9
#define GNSS20_SPI_SLAVE_RX_LEN   4
#define GNSS20_SPI_SLAVE_TX_LEN_REG_OFFSET   0x00000008ul
#define GNSS20_SPI_SLAVE_TX_BUF_REG_OFFSET   0x00002000ul
#define GNSS20_SPI_SLAVE_RX_LEN_REG_OFFSET   0x00000004ul
#define GNSS20_SPI_SLAVE_RX_BUF_REG_OFFSET   0x00001000ul
#define GNSS20_TX_DRV_BUFFER_SIZE   100
 GNSS 20 driver buffer size.
#define GNSS20_RX_DRV_BUFFER_SIZE   800
#define GNSS20_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
#define GNSS20_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
#define GNSS20_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Typedefs

typedef err_t(* gnss20_master_io_t) (struct gnss20_s *, uint8_t *, uint16_t)
typedef struct gnss20_s gnss20_t
 GNSS 20 Click context object.

Enumerations

enum  gnss20_drv_t { GNSS20_DRV_SEL_UART , GNSS20_DRV_SEL_SPI , GNSS20_DRV_SEL_I2C }
 GNSS 20 Click driver selector. More...
enum  gnss20_return_value_t { GNSS20_OK = 0 , GNSS20_ERROR = -1 }
 GNSS 20 Click return value data. More...

Functions

void gnss20_cfg_setup (gnss20_cfg_t *cfg)
 GNSS 20 configuration object setup function.
void gnss20_drv_interface_sel (gnss20_cfg_t *cfg, gnss20_drv_t drv_sel)
 GNSS 20 driver interface setup function.
err_t gnss20_init (gnss20_t *ctx, gnss20_cfg_t *cfg)
 GNSS 20 initialization function.
err_t gnss20_generic_write (gnss20_t *ctx, uint8_t *data_in, uint16_t len)
 GNSS 20 data writing function.
err_t gnss20_generic_read (gnss20_t *ctx, uint8_t *data_out, uint16_t len)
 GNSS 20 data reading function.
uint8_t gnss20_get_pps_pin (gnss20_t *ctx)
 GNSS 20 get PPS pin function.
void gnss20_set_rst_pin (gnss20_t *ctx, uint8_t state)
 GNSS 20 set RST pin function.
void gnss20_reset_device (gnss20_t *ctx)
 GNSS 20 reset device function.
err_t gnss20_parse_gga (uint8_t *rsp_buf, uint8_t gga_element, uint8_t *element_data)
 GNSS 20 parse GGA function.

Detailed Description

This file contains API for GNSS 20 Click Driver.

Typedef Documentation

◆ gnss20_master_io_t

typedef err_t(* gnss20_master_io_t) (struct gnss20_s *, uint8_t *, uint16_t)

Driver serial interface.

◆ gnss20_t

typedef struct gnss20_s gnss20_t

GNSS 20 Click context object.

Context object definition of GNSS 20 Click driver.

Enumeration Type Documentation

◆ gnss20_drv_t

GNSS 20 Click driver selector.

Selects target driver interface of GNSS 20 Click driver.

Enumerator
GNSS20_DRV_SEL_UART 

UART driver descriptor.

GNSS20_DRV_SEL_SPI 

SPI driver descriptor.

GNSS20_DRV_SEL_I2C 

I2C driver descriptor.

◆ gnss20_return_value_t

GNSS 20 Click return value data.

Predefined enum values for driver return values.

Enumerator
GNSS20_OK 
GNSS20_ERROR